//
//  YRLog.swift
//  SuperRecoder
//
//  Created by 薛永伟 on 2019/6/6.
//  Copyright © 2019 XueYongWei. All rights reserved.
//

import Foundation

//MARK: - --------------YRLog--------------

//封装的日志输出功能（T表示不指定日志信息参数类型）
enum YRLogType {
    
    case error
    case warning
    case info
    case verbose
}

/// 仅在debug模式输出日志
///
/// - Parameters:
///   - message: 日志信息
///   - type: 日志类型
///   - file: 所在文件
///   - function: 所在方法
///   - line: 所在行
func YRLog<T>(_ message:T, type:YRLogType = .verbose, file:String = #file, function:String = #function,
                    line:Int = #line) {
    #if DEBUG
    //获取文件名
    let fileName = (file as NSString).lastPathComponent
    //打印日志内容
    var flag = ":"
    switch type {
    case .error:
        flag = "❌_❌ ❗️"
    case .warning:
        flag = "⚠️_⚠️"
    default:
        break
    }
    print("\(fileName)（line\(line)） - \(function) \(flag) \n \(message)")
    #endif
}
